export const nav = [
  { text: "首页", link: "/" },
  {
    text: "Vue",
    items: [
      { text: "Vue2", link: "/vue2/virtual-list" },
      { text: "Vue3", link: "/vue3/guide" },
    ],
  },
  {
    text: "React",
    link:'/react/life-cycle'
  },
  {
    text: "JavaScript",
    link:'/javaScript/arrayFunction'
  },
  {
    text: "TypeScript",
    link:'/typeScript/guide'
  },
  {
    text: "ES6",
    link:'/es6/map-set'
  },
  {
    text: "算法",
    link:'/algorithm/dynamic-programming/1'
  },
  {
    text: "计算机网络基础知识",
    link:'/http/url-request-flow'
  },
  {
    text: "填坑之旅",
    link:'/other/canvas'
  },
];

export const sidebar = {
  // "/": {
  //   base: "/",
  //   items: [
  //     {
  //       text: "Examples",
  //       items: [
  //         { text: "Markdown Examples", link: "markdown-examples" },
  //         { text: "Runtime API Examples", link: "api-examples" },
  //       ],
  //     },
  //   ],
  // },
  "/http/": {
    base: "/http/",
    items: [
      {
        text: "《计算机网络基础知识》笔记",
        items: [
          {
            text: "说一下从url输入到返回请求的过程",
            link: "url-request-flow",
          },
          {
            text: "从输入URL开始建立前端知识体系",
            link: "url-request-flow-2",
          },
          {
            text: "正确的校验有效的URL",
            link: "check-url",
          },
        ],
      },
    ],
  },
  "/es6/": {
    base: "/es6/",
    items: [
      {
        text: "《ECMAScript》笔记",
        items: [
          {
            text: "手动实现Map、Set数据结构",
            link: "map-set",
          },
          {
            text: "手动实现Promise",
            link: "promise",
          },
        ],
      },
    ],
  },
  "/javaScript/": {
    base: "/javaScript/",
    items: [
      {
        text: "《JavaScript》笔记",
        items: [
          {
            text: "js操作数组17种方法",
            link: "arrayFunction",
          },
          {
            text: "Date对象",
            link: "dateObject",
          },
          {
            text: "ES6的解构赋值、Object.assign、[].concat它们是深拷贝还是浅拷贝？",
            link: "clone",
          },
          {
            text: "继承：B.prototype.constructor = B 为什么要加上这句",
            link: "constructor",
          },
          {
            text: "嗨，你真的懂this吗？",
            link: "this",
          },
          {
            text: "JavaScript常用八种继承方案",
            link: "inherit",
          },
          {
            text: "说说作用域和闭包吧",
            link: "scope-closure",
          },
          {
            text: "10个常见的前端手写功能，你全都会吗？",
            link: "functions-to-10",
          },
          {
            text: "JS 的 new 做了哪些事情呢？",
            link: "js-new-behavior",
          },
          {
            text: "bind、call、apply的区别与用法？",
            link: "bind-call-apply",
          },
          {
            text: "JavaScript数据类型知识你真的懂吗？",
            link: "js-data-types",
          },
        ],
      },
    ],
  },
  "/react/": {
    base: "/react/",
    items: [
      {
        text: "《React》笔记",
        items: [
          {
            text: "高阶函数柯里化",
            link: "coriolization_of_high_order_functions",
          },
          {
            text: "受控组件和非受控组件",
            link: "controlled-and-uncontrolled",
          },
          {
            text: "state、props、ref三大属性",
            link: "state-props-ref",
          },
          {
            text: "组件生命周期",
            link: "life-cycle",
          },
          {
            text: "虚拟DOM中的Key与index",
            link: "key-and-index",
          },
          {
            text: "setState的两种写法、修改部分属性",
            link: "setState",
          },
          {
            text: "React Hooks 大丰收！",
            link: "hooks",
          },
          {
            text: "不正经写React的家伙，写了个不正经的React版虚拟列表",
            link: "virtual-list",
          },
        ],
      },
    ],
  },
  "/typeScript/": {
    base: "/typeScript/",
    items: [
      {
        text: "《TypeScript》笔记",
        items: [
          {
            text: "一份不可多得的 TS 学习指南（1.8W字）",
            link: "guide",
          },
        ],
      },
    ],
  },
  "/vue2/": {
    base: "/vue2/",
    items: [
      {
        text: "《Vue2》笔记",
        items: [
          {
            text: "虚拟列表：你有勇气就给我10万，我就有本事展示给你看",
            link: "virtual-list",
          },
          {
            text: "mustache模板引擎",
            link: "mustache",
          },
          {
            text: "虚拟DOM和diff算法",
            link: "dom-diff",
          },
          {
            text: "数据响应式原理",
            link: "responsive",
          },
          {
            text: "AST抽象语法树",
            link: "ast",
          },
        ],
      },
    ],
  },
  "/vue3/": {
    base: "/vue3/",
    items: [
      {
        text: "《Vue3》笔记",
        items: [
          {
            text: "新特性",
            link: "guide",
          },
          {
            text: "第一期：源码学习方法分享，模块之间依赖关系，初始化整体流程分析",
            link: "source-code-to-1",
          },
          {
            text: "第二期打包脚本解析，查找入口文件，源码层面解读初始化过程",
            link: "source-code-to-2",
          },
          {
            text: "第三期：从patch根组件到首次渲染DOM树过程分析",
            link: "source-code-to-3",
          },
          {
            text: "第四期：DOM和组件属性初始化过程，更新整体流程解析",
            link: "source-code-to-4",
          },
          {
            text: "第五期：数据响应式原理，reactive响应式和依赖收集过程（上）",
            link: "source-code-to-5-1",
          },
          {
            text: "第五期：数据响应式原理，reactive响应式和依赖收集过程（下）",
            link: "source-code-to-5-2",
          },
          {
            text: "Vuex 4.x 利用Typescript实现智能提示效果",
            link: "vuex-ts",
          },
          {
            text: "Vue的响应式原理？（Vue2、Vue3）",
            link: "vue2-vue3-responsive-principle",
          },
          {
            text: "学会了Vuex与Cookies、localStorage、sessionStorage联动实现数据持久化",
            link: "persistence",
          },
        ],
      },
    ],
  },
  "/other/": {
    base: "/other/",
    items: [
      {
        text: "工具",
        items: [
          {
            text: "为了进阶Canvas，前进！冲啊",
            link: "canvas",
          },
          {
            text: "html2canvas总是跨域，一步到位",
            link: "html2canvas",
          },
          {
            text: "Axios封装",
            link: "axios",
          },
          {
            text: "base64图片底部留白，原因竟然是这个",
            link: "base64",
          },
          {
            text: "GitHub + jsDelivr + TinyPNG+ PicGo+Typora 打造稳定快速、高效免费图床 ",
            link: "chart-bed",
          },
          {
            text: "自我总结",
            link: "interview",
          },
          {
            text: "微信云托管",
            link: "wechat-cloud-hosting",
          },
          {
            text: "断点续传的方法的实现",
            link: "breakpoint-continuation",
          },
        ],
      },
    ],
  },
  "/algorithm/": {
    base: "/algorithm/",
    items: [
      {
        text: "《算法》笔记",
        items: [
          {
            base: "/algorithm/dynamic-programming/",
            items: [
              {
                text: "动态规划",
                items: [
                  {
                    text: "剪绳子",
                    link: "1",
                  },
                  {
                    text: "爬梯子",
                    link: "2",
                  },
                  {
                    text: "新21点",
                    link: "3",
                  },
                  {
                    text: "统计字典序元音字符串的数目",
                    link: "4",
                  },
                  {
                    text: "最长递增子序列",
                    link: "5",
                  },
                ],
              },
            ],
          },
          {
            base: "/algorithm/bitwise-operation/",
            items: [
              {
                text: "位运算",
                items: [
                  {
                    text: "解题基础",
                    link: "1",
                  },
                  {
                    text: "火柴拼正方形",
                    link: "2",
                  },
                ],
              },
            ],
          },
          {
            base: "/algorithm/binary-tree/",
            items: [
              {
                text: "二叉树",
                items: [
                  {
                    text: "在每个树行中找最大值",
                    link: "1",
                  },
                ],
              },
            ],
          },
          {
            text: "重建序列",
            link: "4",
          },
          {
            text: "公交站间的距离",
            link: "5",
          },
          {
            text: "最长连续序列",
            link: "6",
          },
          {
            text: "数组序号转换",
            link: "7",
          },
          {
            text: "生成每种字符都是奇数个的字符串",
            link: "8",
          },
        ],
      },
    ],
  },
};
